Apparatus and method for extracting management information from image

ABSTRACT

A management information extraction apparatus learns the structure of the ruled lines of a document and the position of user-specified management information such as a title, etc. during a form learning process, and stores them in a layout dictionary. During the operation, the structure of the ruled lines extracted from an image of an input document is matched with that of the document in the layout dictionary. Then, position information in the layout dictionary is referred to, and the management information is extracted from the input document.

CROSS REFERENCE TO RELATED APPLICATION

This application is a divisional of application Ser. No. 08/888,794,filed Jul. 7, 1997, now U.S. Pat. No. 6,327,387 Dec. 4, 2001.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a system for converting documents anddrawings into image data through an input device such as a scanner,etc., adding management information to the image data, and accumulatingresultant data; to an apparatus for identifying the structure of theruled lines in the image for image recognition; and to a method ofperforming the above described processes.

2. Description of the Related Art

Recently, a conventional method of storing information on paper has beenswitched to a method of storing data on electronic media. For example,an electronic filing system converts documents stored on paper intodocument images by an opto-electrical converter such as an imagescanner, etc. and stores the converted document images on an opticaldisk, a hard disk, etc. with management information such as a key wordfor retrieval added to the converted document images.

Since documents are stored as image data in the above described method,a larger disk capacity is required than in a method in which allcharacters in documents are stored after being encoded in a characterrecognition technology. However, the above described method can beeasily followed at a high process speed, and pictures and tablescontaining data other than characters can be stored as is. On the otherhand, the stored information should be retrieved using additionalmanagement information such as a keyword, numbers, etc. together withdocument images. The conventional systems require much effort and timein assigning a keyword, and do not bring user-friendly technology.

To solve the problem of the awkwardness of the conventional systems, thetitle of a document can be assumed to be a keyword, automaticallyextracted, recognized as characters, and encoded for storage withdocument images.

At present, the speed of recognizing characters is up to several tens ofcharacters per second, and it takes about 30 seconds through severalminutes to process a normal document page (approximately 21 cm×29.5 cm).Therefore, it is recommended not to recognize all characters of anentire document, but to first extract necessary titles from the imagesof the document and then recognize them.

The conventional technology of extracting a part of a document, forexample, a title of the document from a document image obtained byreading the document through an opto-electrical converter is describedin “TITLE EXTRACTING APPARATUS FOR EXTRACTING TITLE FROM DOCUMENT IMAGEAND METHOD THEREOF, U.S. patent application Ser. No. 08/694,503 which isnow U.S. Pat. No. 6,035,061, and Japanese Patent Application H7-341983”filed by the Applicant of the present invention. FIG. 1A shows theprinciple of the title extracting apparatus.

The title extracting apparatus shown in FIG. 1A comprises a characterarea generation unit 1, a character string area generation unit 2, and atitle extraction unit 3. The character area generation unit 1 extracts,by labelling connected components of picture elements, a partial patternsuch as a part of a character, etc. from a document image input througha scanner, etc. Then, it extracts (generates) a character area byintegrating several partial patterns. The character string areageneration unit 2 integrates a plurality of character areas and extracts(generates) a character string area. The title extraction unit 3extracts as a title area a character string area which is probably atitle.

At this time, the title extraction unit 3 utilizes notable points suchas a top and center position, a character size larger than that of thebody of the document, an underlined representation, etc. as theprobability of a title area. The probability is expressed as a score foreach of the character string areas to finally obtain a plurality ofcandidates for the title area in the order from the highest score to thelowest one. In the above described process, title areas can be extractedfrom documents containing no tables.

On the other hand, when a document contains a table, the titleextraction unit 3 extracts a title area in consideration of thecondition of the number of characters after the character string areageneration unit 2 extracts a character string area in the table. Forexample, the number of characters indicating the name of an itemimplying the existence of the title is comparatively small such as‘Subject’, ‘Name’, etc. The number of characters forming a characterstring representing the title itself is probably large such as ‘. . .relating to . . . ’ Thus, a character string which is probably a titlecan be detected from adjacent character strings by utilizing the numberof characters in the character strings.

However, there are a large number of table-formatted documents usingruled lines such as slips, etc. Therefore, the above describedconventional technology has the problem that there is little probabilitythat a title can be successfully extracted from a table.

For example, when a title is written at the center or around the bottomin a table, the title may not be correctly extracted only by extractingcharacter strings from the top by priority. Furthermore, as shown inFIG. 1B, an approval column 11 is located at the top in the table. Ifthere are a number of excess character strings such as ‘generalmanager’, ‘manager’, ‘sub-manager’, ‘person in charge’, etc. in theapproval column 11, then these character strings are extracted bypriority, thereby failing in correctly extracting the title.

As shown by a combination of an item name 12 and a title 13, a title maybe written below the item name 12, not on the right hand side of theitem name 12. In this case, the relative positions of the item name andthe title cannot be recognized only according to the information aboutthe number of characters of adjacent character strings. Furthermore,item names are written not only horizontally but also vertically inJapanese. Therefore, it is very hard to correctly specify the positionof the item name. When a document contains two tables, the title may belocated somewhere in a smaller table.

Since a document containing tables can be written in various formats,the probability of a title depends on each document, and the precisionof extracting a title in a table is lowered. If the state of an inputdocument image is not good, the extraction precision is furthermorelowered.

In an electronic filing system, an extracted title area ischaracter-recognized by an optical character reader (OCR) to generate acharacter code and add it to the image as management information. Thus,the image in a database can be retrieved using a character code.

In this case, there is no problem if the character string in a titlearea is readable by an OCR. However, if a background shows a texturedpattern or characters are designed fonts, then the current OCR cannotrecognize a character string. Therefore, in this case, managementinformation cannot be added to an image.

SUMMARY OF THE INVENTION

The present invention aims at providing an apparatus and method ofextracting appropriate management information for use in managing animage in a document in various formats, and an apparatus and method ofaccumulating images according to the management information.

An image management system having the management information extractionapparatus and the image accumulation apparatus according to the presentinvention includes a user entry unit, a computation unit, a dictionaryunit, a comparison unit, an extraction unit, a storage unit, a groupgeneration unit, and a retrieval unit.

According to the first aspect of the present invention, the computationunit computes the position of the management information contained in anarbitrary input image according to the position information about theposition of a ruled line relative to the outline portion of a table areacontained in the input image. The extraction unit extracts themanagement information from the input image based on the positioncomputed by the computation unit.

In the second aspect of the present invention, the dictionary unitstores the features of the structures of the ruled lines of one or moretable forms, and the position information about the managementinformation in each of the table forms. The comparison unit compares thefeature of the structure of the ruled lines of the input image with thefeature of the structure of the ruled lines stored in the dictionaryunit. The extraction unit refers to the position information about themanagement information stored in the dictionary unit based on thecomparison result from the comparison unit, and extracts the managementinformation about the input image. The user entry unit enters theposition of the management information specified by the user in thedictionary unit.

According to the third aspect of the present invention, the storage unitstores image information as management information for an accumulatedimage. The retrieval unit retrieves the image information.

According to the fourth aspect of the present invention, the storageunit stores ruled line information about a table form. The groupgeneration unit obtains a plurality of possible combinations between theruled line extracted from an input image and the ruled line contained inthe ruled line information in the storage unit, and extracts a groupcontaining two or more compatible combinations from the plurality ofcombinations in such a way that no combinations of another group can becontained. The comparison unit compares the input image with the tableform according to the information about combinations contained in one ormore extracted groups.

BRIEF EXPLANATION OF THE DRAWINGS

FIG. 1A shows the configuration of the title extraction apparatusaccording to a filed application;

FIG. 1B shows a table-formatted document;

FIG. 2A shows the principle of the management information extractionapparatus;

FIG. 2B shows the management information extracting process;

FIG. 3 is the first flowchart showing the process performed when a formis learned;

FIG. 4 is the first flowchart showing the process performed during theoperation;

FIG. 5 shows the configuration of the information processing apparatus;

FIG. 6 is the second flowchart showing the process performed when a formis learned;

FIG. 7 shows a ruled line structure extracting process;

FIG. 8 shows a management information position specifying process;

FIG. 9 shows the first ruled line feature of the rough classification;

FIG. 10 shows the second ruled line feature of the rough classification;

FIG. 11 shows the third ruled line feature of the rough classification;

FIG. 12 shows the fourth ruled line feature of the rough classification;

FIG. 13 shows a method of extracting an intersection string;

FIG. 14 shows an intersection string;

FIG. 15 is a flowchart showing a cross ratio computation process;

FIG. 16 shows the feature of the ruled lines indicating an outline usinga cross ratio;

FIG. 17 is the second flowchart showing the process performed during theoperation;

FIG. 18 shows a DP matching;

FIG. 19 is a flowchart showing a DP matching process;

FIG. 20 is a flowchart (1) showing a management information positioncomputing process;

FIG. 21 is a flowchart (2) showing a management information positioncomputing process;

FIG. 22 is a flowchart (3) showing a management information positioncomputing process;

FIG. 23 shows a process of extracting management information using auser entry mode and an automatic learning mode;

FIG. 24 is a flowchart showing an intractable management informationextracting process;

FIG. 25 is a flowchart showing a management information extractingprocess for a document image without ruled lines;

FIG. 26 is a flowchart showing a management information storage process;

FIG. 27 is a management information storage table;

FIG. 28 is a flowchart showing a management information retrievingprocess;

FIG. 29 is an association graph;

FIG. 30 is a flowchart showing a form identifying process;

FIG. 31 shows a reference width, a reference height, and a referencepoint;

FIG. 32 shows a horizontal ruled line;

FIG. 33 shows a vertical ruled line;

FIG. 34 shows detailed information about the horizontal ruled lines;

FIG. 35 shows detailed information about the vertical ruled lines;

FIG. 36 is a flowchart showing a model matching process;

FIG. 37 is a matching table;

FIG. 38 shows a function of a threshold;

FIG. 39 shows a case in which a sequence is inverted;

FIG. 40 shows a case in which two corresponding ruled lines areassigned;

FIG. 41 shows the correspondence of ruled lines represented by theoptimum path set;

FIG. 42 is a flowchart showing a node arranging process;

FIG. 43 is a flowchart (1) showing a path generating process;

FIG. 44 is a flowchart (2) showing a path generating process;

FIG. 45 shows a node string of a storage unit;

FIG. 46 shows a determining process using detailed information;

FIG. 47 is a flowchart showing an optimum path set determining process;and

FIG. 48 is a flowchart showing a node number updating process.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The preferred embodiments of the present invention are described belowin detail by referring to the attached drawings.

FIG. 2A shows the principle of an image management system including themanagement information extraction apparatus and the image accumulationapparatus according to the present invention. This system includes thefirst, second, third, and fourth principles of the present invention andcomprises a user entry unit 21, a computation unit 22, a dictionary unit23, a comparison unit 24, an extraction unit 25, a storage unit 26, agroup generation unit 27, and a retrieval unit 28.

According to the first principle of the present invention, a computationunit 22 computes the position of the management information contained inan input image based on the information about the position of a ruledline relative to the outline portion of the table area contained theinput image. An extraction unit 25 extracts the management informationfrom the input image based on the position computed by the computationunit 22.

For example, as information about the outline portion of a table area, areference size of a table area, or a position of a reference point closeto the outline of the table area, is used. The computation unit 22represents the position of each ruled line extracted from the table areaas the information about the position relative to the reference point,and obtains the position of the management information from the positioninformation of the ruled lines encompassing the management information.The extraction unit 25 extracts the image data corresponding to theposition as management information and recognizes characters asnecessary.

The management information can be extracted with precision by obtainingthe relative positions of ruled lines encompassing the managementinformation for a plurality of reference points in the outline portionof a table or in a plurality of directions even if the state of an inputimage is inferior due to breaks, noise, etc.

According to the second principle of the present invention, a dictionaryunit 23 stores features of the structures of the ruled lines of one ormore table forms, and position information of the management informationin each of the table forms. A comparison unit 24 compares the feature ofthe structure of the ruled line of an input image with the feature ofthe structure of the ruled line stored in the dictionary unit 23. Theextraction unit 25 refers to the position information about the manageinformation stored in the dictionary unit 23 based on the comparisonresult obtained from the comparison unit 24, and extracts the managementinformation of the input image. A user entry unit 21 enters the positionof the management information specified by the user in the dictionaryunit 23.

A table form refers to the layout structure of ruled lines forming thetable. The dictionary unit 23 preliminarily stores the features of thestructure of the ruled lines and the position of the managementinformation specified by the user entry unit 21. The comparison unit 24obtains a table form having the features of the structure of the ruledlines similar to those of the input image. The extraction unit 25extracts the management information from the position specified in thetable form.

Thus, management information can be precisely extracted from each imageeven by preliminarily entering the position of user-requested managementinformation and extracting the management information at the specifiedposition from an input image even if various form images are entered.

According to the third principle of the present invention, a storageunit 26 stores image information as the management information for anaccumulated image. A retrieval unit 28 retrieves the image information.

For example, in the electronic filing apparatus for accumulating anumber of images, an image code extracted from each image is stored inthe storage unit 26 as the management information. The retrieval unit 28retrieves management information by comparing a given image code with animage code in the storage unit 26 through, for example, a templatematching.

Thus, the present invention not only stores/retrieves a character stringof management information in character codes, but also stores/retrievesthe character string as an image itself. Therefore, a character such asa textured character, a designed font, a logo, etc. which is hard to becorrectly recognized can be processed as management information.

According to the fourth principle of the present invention, the storageunit 26 stores ruled line information about the table form. A groupgeneration unit 27 obtains a plurality of possible combinations betweenruled lines extracted from an input image and the ruled lines containedin the ruled line information in the storage unit 26, and extracts agroup containing two or more combinations compatible to each other fromamong the plurality of combinations in a way that the extracted groupmay not contain a combination in another group. The comparison unit 24compares the input image with the table form according to theinformation about the combination contained in one or more extractedgroups.

The group generation unit 27 obtains a possible combination of the ruledlines of an input image and the ruled lines of the table form toidentify the form of the input image using the table form stored in thestorage unit 26. At this time, for example, ruled lines similar to eachother in size and position relative to the entire table are retrieved asa possible combination.

Then, it is determined whether or not two combinations are compatible bycomparing the relation between the ruled lines contained in an inputimage with the relation between the ruled lines of the form in a table.At this time, the number of the objects to be compatibility-checked canbe reduced and the process can be efficiently performed by generating anew group in a way that no combinations already contained in othergroups can be included.

The comparison unit 24 considers that a larger number of combinationscontained in the optimum set of groups indicates a higher similaritybetween an input image and the table form, and determines the table formhaving the highest similarity as a form corresponding to the inputimage.

Thus, the form of an input image can be rapidly identified, and amanagement information extracting process can be performed efficiently.

For example, the user entry unit 21 shown in FIG. 2A corresponds to aninput unit 43 shown in FIG. 5, which is explained later, and thedictionary unit 23 and the storage unit 26 correspond to an externalstorage unit 45 in FIG. 5. Furthermore, the computation unit 22, thecomparison unit 24, the extraction unit 25, the group generation unit27, and the retrieval unit 28 correspond to a central processing unit(CPU) 41 and memory 42 in FIG. 5.

According to the present invention, the layout structure of the ruledlines in a well-known table format is learned for use in variousapplications. The learned information is used to extract a title, etc.with precision from an unknown table format. To attain this, a formlearning mode and an operation mode are set. The layout structure may behereinafter referred to as a format structure or a form.

FIG. 2B shows the outline of the management information extractingprocess. The management information extraction apparatus first learnsthe layout of the ruled lines of documents A, B, etc. in known formatsand the user-specified position of a correct title area, etc. during thelearning process. Then, a layout dictionary (form dictionary) 31including the above listed information is generated.

The mode in which the user specifies the position of a title can beeither a user entry mode without form recognition of documents A and Bor an automatic learning mode with form recognition. The operations ineach mode are described later.

During the operation, the management information extraction apparatusextracts the layout of the ruled lines from an input unknown document32, and matches the layout with the layout dictionary 31. Thus, adocument in a format matching the layout stored in the layout dictionarycan be identified. In this example, the layout of the document 32matches that of the document A.

Then, the management information extraction apparatus refers to theinformation about the position of a title specified by the correspondingdocument A, and extracts the title from a character string area 33 ofthe document 32 with high precision. Furthermore, management informationabout various documents can be extracted with high precision byinstructing a user to specify not only a title but also other tag areassuch as a date, etc. as management information.

Since management information should be quickly and automaticallyextracted when a user inputs a document using a scanner during theoperation, a high-speed algorithm characterized by an interactiveoperation is adopted in the present invention. In this algorithm, aclassification process can be performed at a high speed by specifyingcandidates for a corresponding form to the input document first in arough classification, and then in a detailed classification(identification). A corresponding process is also performed during theform learning process.

FIG. 3 is a flowchart showing the outline of the process in a formlearning mode. When the process starts, the management informationextraction apparatus first inputs a document image to be learned (stepS1) and extracts the structure of the ruled lines (step S2). Then, themanagement information extraction apparatus inquires the user of theposition of the management information and instructs the user to specifythe position (step S3).

Then, the management information extraction apparatus extracts thefeatures of the ruled lines for the rough classification bydiscriminating solid lines from broken lines in the extracted structureof the ruled lines (step S4), and extracts the features of the ruledlines indicating an outline (a contour) for detailed identification(step S5). For example, the features of the structure of the ruled linestable against a change in data are used as the features for the roughclassification. As the features for detailed identification, a crossratio relating to the outline of a table is used in consideration of ahigh-speed process.

Then, the management information extraction apparatus stores theextracted features of the ruled lines and the specified position of themanagement information in the layout dictionary 31 (step S6), andterminates the process. The stored information is referenced in anoperation mode, and is used to extract the management information froman unknown document.

FIG. 4 is a flowchart showing the outline of the process in an operationmode. When the process starts, the management information extractionapparatus first inputs a document image to be processed (step S11), andextracts the ruled line structure (step S12).

Then, the management information extraction apparatus extracts thefeatures of the ruled lines for the rough classification from the ruledline structure (step S13), compares them with the correspondinginformation in the layout dictionary 31, and performs the roughclassification of the ruled line structure (step S14). As a result, theruled line structure in the layout dictionary 31 which possibly matchesthe ruled line structure of the layout dictionary 31 is extracted as acandidate.

Then, the management information extraction apparatus extracts thefeatures of the ruled lines indicating an outline for detailedidentification from the ruled line structure (step S15), compares themwith the corresponding information about the candidate extracted in therough classification, and identifies the details of the ruled linestructure (step S16). In this step, for example, a one-dimensionalmatching process is performed on the cross ratio to specify a candidatecorresponding to an input document.

Then, it computes the position of the management information in theinput document image based on the position of the management informationspecified in the form of the candidate (step S17), and then terminatesthe process. Thus, according to the position information specified bythe user in the known document, management information can be extractedfrom the input document image with high precision. Since the formcomparing process is performed in two steps of rough classification anddetailed identification during the operation, candidates for detailedidentification are limited, thereby speeding up the extracting process.

The management information extraction apparatus according to the presentembodiment can be realized by an information processing device(computer) as shown in FIG. 5. The information processing device shownin FIG. 5 comprises the CPU 41, the memory 42, the input unit 43, anoutput unit 44, the external storage unit 45, a medium drive unit 46, anetwork connection unit 47, and an opto-electrical conversion unit 48,and each of the units are interconnected through a bus 49.

The CPU 41 executes a program using the memory 442, and performs eachprocess shown in FIGS. 3 and 4. The memory 42 can be a read only memory(ROM), a random access memory (RAM), etc. Necessary data such as thelayout dictionary 31, etc. is temporarily stored in the RAM.

The input unit 43 can be, for example, a keyboard, a pointing device,etc. and is used when a user inputs a request or an instruction. Theoutput unit 44 can be, for example, a display device, a printer, etc.and is used when an inquiry is issued to a user or when a processresult, etc. is output.

The external storage unit 45 can be, for example, a magnetic diskdevice, an optical disc device, a magneto-optical disk device, etc., andstores a program and data. It also can be used as a database for storingimages and the layout dictionary 31.

The medium drive unit 46 drives a portable storage medium 50 andaccesses the contents stored therein. The portable storage medium 50 canbe an arbitrary computer-readable storage medium such as a memory card,a floppy disk, a compact disk read only memory CD-ROM, an optical disk,a magneto-optical disk, etc. The portable storage medium 50 stores notonly data but a program for performing each of the above listedprocesses.

The network connection unit 47 is connected to an arbitrarycommunications network such as a local area network (LAN), etc. andperforms data conversion, etc. associated with communications. Themanagement information extraction apparatus can receive necessary dataand programs from an external database, etc. through the networkconnection unit 47. The opto-electrical conversion unit 48 can be, forexample, an image scanner and receives an image of a document, adrawing, etc. to be processed.

Next, each of the processes performed during the form learning processis described by referring to FIGS. 6 through 16.

FIG. 6 is a flowchart showing the details of the process performedduring the form learning process. In FIG. 6, the process stepscorresponding to those in FIG. 3 are assigned identical numbers. In theruled line extracting process in step S2, the management informationextraction apparatus extracts vertical and horizontal broken lines (stepS2-1) and vertical and horizontal solid lines (step S2-2) from an inputdocument image as shown in FIG. 7, and then extracts a rectangular cell(rectangular area) encompassed by the vertical and horizontal ruledlines (step S2-3).

When a ruled line and a rectangular cell are extracted, technologiessuch as the image extraction apparatus (Japanese Patent laid-openH7-28937), the character-box extraction apparatus and the rectangleextraction apparatus (Japanese Patent Application H7-203259), etc.disclosed by the Applicant of the present invention are used. Accordingto these technologies, a character box can be extracted or removed fromthe image without entering information about the position, etc. of theruled lines in a slip. Described below is the outline of the ruled linestructure extracting process.

(1) Thinning process: to thin vertical and horizontal lines in a maskingprocess to remove the difference in thickness between characters andboxes.

(2) Segment extracting process: to extract a relatively long segmentusing an adjacent projection. The adjacent projection refers to a methodof defining a sum of a projection value of a picture element containedin an object row or column and projection values of surrounding rows orcolumns, as a final projection value of the object row or column.According to the projection method, the distribution of the pictureelements surrounding a specific row or column can be recognized from aglobal view point.

(3) Straight line extracting process: to sequentially search forextracted segments and check whether or not there is a discontinuity ofa distance equal to or longer than a predetermined distance betweensegments. Segments having no such discontinuity are sequentiallyintegrated to extract a long straight line.

(4) Straight line integrating process: to reintegrate extracted lines.Two or more line portions divided by a break are re-integrated into astraight line.

(5) Straight line extending process: A straight line shortened by abreak is extended and restored into an original length only when thedocument is written as a regular slip.

(6) Determining horizontal lines forming part of a box: According to therules indicated by ‘Character Box Extraction Apparatus and RectangleExtraction Apparatus’ (Japanese Patent Application H7-203259), a pair ofhorizontal straight lines forming a row of entry boxes are extracted intwo-line units as horizontal lines forming part of a character box framesequentially from an upper portion of a table.

(7) Determining vertical lines forming part of a box: Vertical linesforming part of a character box frame are determined for each row of theabove described entry boxes. A vertical line both ends of which reachthe two horizontal lines forming part of the object row is defined as avertical line forming part of the row.

(8) Rectangular cell extracting process: A rectangular cell encompassedby two horizontal lines and two vertical lines forming a box isextracted as a character area.

Then, in the management information position specifying process in stepS3, the management information extraction apparatus displays an inputdocument image on the screen of the display unit, and instructs a userto point to any point in the character string indicating a title using amouse as shown in FIG. 8. Then, it stores the position information ofthe rectangular cell 51 containing the pointed position.

The position information about a rectangular cell 51 is defined based onan arbitrary intersection on contour of a table, and corresponds to theinformation about the vector from the intersection to the position ofthe rectangular cell 51. For example, if an upper left vertex 52, alower left vertex 53, an upper right vertex 54, and a lower right vertex55 are start points of a vector, then the data of difference vectors A,B, C, and D from each vertex respectively to an upper left vertex 56, alower left vertex 57, an upper right vertex 58, and a lower right vertex59 is stored. Simultaneously, the height h0 and the width w0 of a table,and the height H1 and the width W1 of a rectangular cell are stored.

In the rough classification ruled line feature extracting process instep S4, the management information extraction apparatus first countsthe intersections of the horizontal and vertical ruled lines (stepS4-1). Then, the crossing state of each intersection is extracted toobtain the frequency distribution (step S4-2). The crossing state isrepresented by a code (K1, K2, K3, and K4) indicating the existence of avertical or horizontal ruled line extending from the intersection, andthe type of the ruled line.

Element K1 refers to a ruled line above an intersection. Element K2refers to a ruled line below an intersection. Element K3 refers to aruled line at the left of an intersection. Element K4 refers to a ruledline at the right of an intersection. The value of each element is 0when no ruled lines exist, 1 when a solid line exists, or 2 when abroken line exists.

For example, the crossing state of the intersection shown in FIG. 9 isrepresented by (1,1,1,1). The crossing state of the intersection shownin FIG. 10 is represented by (1,1,1,0). The crossing state of theintersection shown in FIG. 11 is represented by (0,2,2,2). The crossingstate of the intersection shown in FIG. 12 is represented by (1,1,2,2).Since each element of (K1, K2, K3, K4) can be assigned any of threevalues, the number of possible codes is 3 ⁴ (=81). In step S4-2, anoccurrence number (frequency) is obtained and stored for each code of 81types.

Next, the width-to-height ratio of each rectangular cell is computed,and the frequency distribution is computed as that of a rectangular cell(step S4-3). When the height of a rectangular cell is H1 and its widthis W1, the width-to-height ratio can be represented by W1/H1. Thefrequency distribution of the width-to-height ratio can be obtained byincreasing the value of W1/H1 by 0.5 in succession starting from 0, andcounting the rectangular cells having the width-to-height ratiocorresponding to each value. At this time, rectangular cells exceeding athreshold (for example, 10) are collectively counted.

In the detailed identification outline ruled line feature extractingprocess in step S5, the management information extraction apparatusfirst retrieves an intersection string comprising four intersectionsfrom outside in the horizontal and vertical directions in each row orcolumn containing intersections in series.

For example, in the case of the ruled line structure shown in FIG. 13,intersections 61, 62, 63, and 64 are retrieved when four intersectionsare retrieved sequentially from the left end in the second row.Intersections 65, 64, 63, and 62 are retrieved when four intersectionsare retrieved sequentially from the right end in that row. Intersections66, 63, 67, and 68 are retrieved when four intersections are retrievedsequentially from the top in the third column. Intersections 70, 69, 68,and 67 are retrieved when four intersections are retrieved sequentiallyfrom the bottom in that column.

The cross ratio of the one-dimensional projective invariants relating tothe retrieved intersection string is computed. For example, if anintersection string comprising four intersections X1, X2, X3, and X4 isretrieved as shown in FIG. 14, the cross ratio is expressed as follows.$\begin{matrix}{{{CROSS}\quad {RATIO}}\quad = \frac{\left| {{X1} - {X2}} \middle| \quad \middle| {{X3} - {X4}} \right|}{\left| {{X1} - {X3}} \middle| \quad \middle| {{X2} - {X4}} \right|}} & (1)\end{matrix}$

where |Xi−Xj| indicates the width (distance) between intersections Xiand Xj (i, j=1, 2, 3, or 4). The cross ratio of equation (1) is computedaccording to, for example, the flowchart shown in FIG. 15. When thecross ratio computing process is started, the management informationextraction apparatus inputs the coordinate data of the fourintersections X1, X2, X3, and X4 (step S21).

Then, the distance between intersections X1 and X2 is computed and inputto variable a (step S22), the distance between intersections X3 and X4is computed and input to variable 6 (step S23), the distance betweenintersections X1 and X3 is computed and input to variable c (step S24),and the distance between intersections X2 and X4 is computed and inputto variable d (step S25). Next, ab/cd is computed and the result isstored as a cross ratio (step S26), and then, the process is terminated.

Thus, the features of a sequence of intersections around the outline ofa table can be quantified by computing the cross ratio of allintersection strings. As a result, the two dimensional features of theoutline of the table is represented by a sequence of one-dimensionalvalues as shown in FIG. 16. The sequence of values of a cross ratio ishereinafter referred to as a cross ratio string.

In FIG. 16, the right cross ratio string R[1], R[2], R[3], . . . , R[n]corresponds to the cross ratio indicating the feature of the rightmostportion of each row. The left cross ratio string L[1], L[2], L[3], . . ., L[m] corresponds to the cross ratio indicating the feature of theleftmost portion of each row. The upper cross ratio string U[1], U[2],U[3], . . . , U[w] corresponds to the cross ratio indicating the featureof the top portion of each row. The lower cross ratio string D[1], D[2],D[3], . . . , D[v] corresponds to the cross ratio indicating the featureof the bottom portion of each row.

Normally, since the ruled line structure is not symmetrical at theleftmost and rightmost portions of a table, or there may be a break ordistortion in a line in a part of an image, n does not always match m.Similarly, w does not necessarily match v.

By integrating these cross ratio strings in the four directions into asingle string, a feature vector (R[1], . . . , R[n], L[1], . . . , L[m],U[1], . . . , U[w], D[1], . . . , D[v]) having the values of respectivecross ratios as elements can be generated.

In this example, the ratios of the distances among four intersectionsare used as the features of the ruled lines indicating the outline fordetailed identification. Instead, the ratios of the distances among anynumber (at least two) of intersections can be used. Also in this case,the feature of the outline can be represented by arranging the ratios ina one-dimensional array.

In the process in step S6, the management information extractionapparatus stores in the layout dictionary 31 the position of themanagement information specified in step S3 and the feature of the ruledlines obtained in steps S4 and S5 as the identification information(form information) about a table-formatted document.

Each process performed during the operation is described below byreferring to FIGS. 17 through 22.

FIG. 17 is a flowchart showing the details of the process performed inlearning a form. In FIG. 17, the process step corresponding to the stepshown in FIG. 4 is assigned the same identification number. First, inthe ruled line structure extracting process in step S12, the managementinformation extraction apparatus extracts a vertical and horizontalbroken line (step S12-1), a vertical and horizontal solid line (stepS12-2), and a rectangular cell encompassed by the vertical andhorizontal ruled lines (step S12-3) from an input document image as inthe process in step S2 performed in learning a form.

In the rough classification ruled line feature extracting process instep S13, the management information extraction apparatus counts theintersections between horizontal and vertical ruled lines (step S13-1),obtains the frequency distribution of the crossing state of eachintersection (step S13-2), and computes the frequency distribution ofthe width-to-height ratio of each rectangular cell as in the process instep S4 in learning a form.

In the rough classification process in step S14, the managementinformation extraction apparatus compares the obtained data with theform information about a number of tables in the layout dictionary 31using the number of intersections, the frequency distribution ofcrossing states, and the frequency distribution of the width-to-heightratios of rectangular cells in order to limit the number of candidatesfor a corresponding table. In this example, appropriate predeterminedthresholds are set for respective features of the number ofintersections, the frequency of crossing states, and the frequency ofwidth-to-height ratios of rectangular cells in consideration of a breakor distortion in lines of an image. If the form information of thelayout dictionary 31 matches the information about the input imagewithin a predetermined allowance, it is defined as a candidate for thetable.

For example, assuming that the number of intersections of an inputdocument image is Ki and the number of intersections of a form t storedin the layout dictionary 31 is Kt, the form t is defined as a candidateif the absolute value |Ki−Kt | of the difference between the values iswithin the threshold THk. Thus, if the differences between the elementsof the input element and the form information in the layout dictionary31 are all within respective thresholds, then the form is determined asa candidate for the form corresponding to the input document.

Since the features of the number of intersections, crossing states, thefrequency distribution of the sizes of rectangular cells, etc. arenormally stable against the fluctuation of image data, they can be usedto precisely compare data with a document image indicating a break ordistortion in its lines.

In the detailed identification outline ruled line feature extractingprocess in step S15, the management information extraction apparatuscomputes the cross ratio of the one-dimensional projective invariantsfrom four directions as in the process in step S5 performed in learninga form.

In the detailed identification process in step S16, the managementinformation extraction apparatus compares cross ratio strings only forthe candidates for a table according to the rough classification. Inthis process, the cross ratio strings are associated between the inputform and the learned form individually in the four directions. Since thestructure of the object form is a table, the sequence of the ruled linesis not inverted between rows or columns. Therefore, a dynamicprogramming (DP) matching is performed only with the partial loss of aruled line due to a break or distortion taken into account.

A DP matching is well-known as a method of matching time-series datasuch as voice, etc. which is described in detail by, for example, the“Pattern Recognition”, p.62-p.67 by Noboru Funakubo, published byKyoritsu Publications. In this method, similarity is assigned to a localfeature of data and an evaluation function indicating the acceptabilityof the entire correspondence is defined using the assigned similaritywhen two data sets are compared. The correspondence of data isdetermined to obtain the highest value of the evaluation function.

FIG. 18 shows the comparing process of the right cross ratio stringusing the DP matching. In FIG. 18, the right cross ratio string R[1],R[2], R[3], . . . , R[n] of the input form corresponds to the rightcross ratio string R′[1], R′[2], R′[3], . . . , R′[n′]) of the learnedform in the layout dictionary 31.

In this comparing process, the reliability of a ruled line is-taken intoaccount and the weight value of the correspondence for an evaluationfunction is different between the cross ratio of an intersection stringobtained from a reliable ruled line and the cross ratio obtained fromother ruled lines. For example, the similarity of the cross ratioobtained from a reliable ruled line is assigned a higher weight value.

FIG. 19 is a flowchart showing an example of the comparing process forthe right cross ratio string using the DP matching. When the processstarts, the management information extraction apparatus first stores theright cross ratio string of the input form in the array R[i] (i=1, . . ., n), and stores the right cross ratio string of the learned form in thearray R′[k] (k=1, . . . , n′)(step S31).

Then, the error array E[i, k] is initialized (step S32), and acomputation is performed by the following recurrence equation on i=1, .. . , n, k=1, . . . , n′ (step S33). $\begin{matrix}\begin{matrix}{{E\left\lbrack {i,k} \right\rbrack} = \quad {\min \left\{ {{{E\left\lbrack {{i - 1},k} \right\rbrack} + {d\left\lbrack {i,k} \right\rbrack}},} \right.}} \\{\quad {{{E\left\lbrack {{i - 1},{k - 1}} \right\rbrack} + {\lambda*{d\left\lbrack {i,k} \right\rbrack}}},}} \\\left. \quad {{E\left\lbrack {i,{k - 1}} \right\rbrack} + {d\left\lbrack {i,k} \right\rbrack}} \right\}\end{matrix} & (2)\end{matrix}$

where E[i, k] indicates the minimum value of error accumulation when apart of the cross ratio string (R[1], . . . , R[i]) is associated with(R′[1], . . . , R′[k]). Therefore, when the accumulation error duringthe computing operation is used as an evaluation function, E[i, k]provides its minimum value. d[i, k] indicates an error when R[i] isassociated with R′[k], and computed, for example, by the followingequation.

 d[i,k]=|R[i]−R′[k]|  (3)

where λ indicates a weight value for d[i, k], and min{ } indicates theminimum value among the elements in the { }.

Next, the path of E [n, n′], which includes correspondence relations ofcross ratios used to determine the value of E [n, n′] is computed (stepS34). Then, the result is stored as the correspondence between the crossratio strings (R[1], . . . , R[n]) and (R′[1], . . . , R′[n′]) (stepS35), and the process terminates. Thus, the correspondence between crossratios is determined to obtain the minimum value of the evaluationfunction. The comparing processes on the left, top, and bottom crossratio strings are performed similarly.

In step S16, such a one-dimensional DP matching is performed on alllearned forms obtained by the rough classification, and the formindicating the minimum (best) evaluation function is determined to bethe form corresponding to the input form. Thus, in the detailedidentification, a high-speed process can be performed by theidentification using the features of the outline (contour) of a tablestructure through the one-dimensional matching.

In the management information position computing process in step S17,the management information extraction apparatus refers to the layoutdictionary 31, retrieves the position information about the learned formspecified in the detailed identification, and extracts the managementinformation from the input image according to the retrieved positioninformation.

In this process, the matching level is checked at the intersection (endpoint) at both ends of each row and each column using the result of thecorrespondence of the cross ratio string in the above described DPmatching to determine whether or not the end points are stable. Amatching level at an end point refers to the probability of thecorrespondence between the cross ratio of an input form and the crossratio of a learned form.

For example, since R[1] and R′[1] uniquely (one-to-one) correspond toeach other in FIG. 18, it is determined that the right end point of thefirst row is stable. Since R[3] and R′[4] also correspond one-to-one toeach other, the right end point of the corresponding row is stable.However, since R[2] corresponds to both R′[2] and R′[3] and does notuniquely correspond to either of them, it is determined that the rightend point of the corresponding row is not stable. Thus, the stable endpoint for each of the upper left, lower left, upper right, and lowerright vertex is obtained and defined as a stable point on the outline.

Next, the height h0 and the width w0 of the tables of the input form andthe learned form are obtained based on stable outline points, and arecompared with each other to obtain the relative ratios between theheights and the widths of the tables of the learned form and the inputform. Then, the position of the management information is computed basedon the difference vectors A, B, C, and D shown in FIG. 8, and the heightH1 and the width W1 of the rectangular cell.

The above described ratio indicates either an enlargement ratio or areduction ratio of the table of an input form to the table of a learnedform, and is used to normalize the fluctuation between the tables.

For example, when the ratios of the height and the width of the inputform to those of the table shown in FIG. 8 are α, the difference vectorsA, B, C, and D are multiplied by α. Then, in the table of the inputform, the approximate position of the upper left vertex of therectangular cell containing the management information is obtained.Similarly, the approximate positions of the upper right, lower left, andlower right vertexes of the rectangular cell can be obtained using thevectors obtained by multiplying the difference vectors B, C, and D by α,with the stable outline points at the upper right, lower left, and lowerright vertexes as starting points.

Next, a rectangular cell which is located near the obtained positionsand is nearly equal to H1*α and W1*α respectively in height and width issearched for. Then, the data in the rectangular cell such as a characterstring, etc. is extracted as requested management information.

FIGS. 20, 21, and 22 are flowcharts showing an example of the managementinformation position computing process. When the process starts, themanagement information extraction apparatus first inputs the result ofassociating the cross ratio strings in the four directions during the DPmatching (step S41).

In this process, the results of associating the right cross ratio string(R[1], . . . , R[n]) with (R′[1], . . . , R′[n′]), the left cross ratiostring (L[1], . . . , L[m]) with (L′[1], . . . , L′[m′]), the uppercross ratio string (U[1], . . . , U[w]) with (U′[1], . . . , U′[w′]),and the lower cross ratio string (D[1], . . . , D[v]) with (D′[1], . . ., D′[v′] are input.

Next, stable end points of the input form are computed from the data,and are defined as candidates for stable outline points (step S42). Thecross ratios corresponding to the candidates are respectively expressedas R[nmin], R[nmax], L[mmin], L[mmax], U[wmin], U[wmax], D[vmin], andD[vmax].

‘nmin’ indicates the row number of the uppermost point corresponding tothe minimum y coordinate value of all stable rightmost points in thetable. ‘nmax’ indicates the row number of the lowermost pointcorresponding to the maximum y coordinate value of all stable rightmostpoints in the table. ‘mmin’ indicates the row number of the uppermostpoint of all stable leftmost points in the table. ‘mmax’ indicates therow number of the lowermost point of all stable leftmost points in thetable.

‘wmin’ indicates the column number of the leftmost point correspondingto the minimum x coordinate value of all stable uppermost points in thetable. ‘wmax’ indicates the column number of the rightmost pointcorresponding to the maximum x coordinate value of all stable uppermostpoints in the table. ‘vmin’ indicates the column number of the leftmostpoint of all stable lowermost points in the table. ‘vmax’ indicates thecolumn number of the rightmost point of all stable lowermost points inthe table.

Then, the position of the stable outline points are computed accordingto the data of obtained candidates (step S43). The maximum and minimumvalues of the x and y coordinates of each candidate are obtained and thevalues are used as coordinate elements of stable outline points.

In FIG. 20, for example, XMIN {R[nmin], R[nmax], L[mmin], L[mmax],U[wmin], U[wmax], D[vmin], and D[vmax]} indicates the minimum value ofthe x coordinate of the end point corresponding to the value of eachcross ratio in { }. Similarly, XMAX { } indicates the maximum value ofthe x coordinate of each end point, YMIN { } indicates the minimum valueof the y coordinate of each end point, and YMAX { } indicates themaximum value of the y coordinate of each end point.

These values XMIN { }, XMAX { }, YMIN { }, and YMAX { } are respectivelyrepresented by XMIN, XMAX, YMIN, and YMAX for simplicity. At this time,the coordinates of the stable outline points at the upper left, upperright, lower left, and lower right portions are respectively representedby (XMIN, YMIN), (XMAX, YMIN), (XMIN, YMAX), and (XMAX, YMAX).

Then, the stable end points of the dictionary form, that is, a learnedform, are computed and defined as candidates for stable outline points(step S44 in FIG. 21). The cross ratios corresponding to the candidatesare respectively represented by R′ [nmin′], R′[nmax′], L′[′mmin′],L′[mmax′], U′[wmin′], U′[wmax′], D′[vmin′], and D′[vmax′].

The meanings of nmin′, nmax′, ′mmin′, mmax′, wmin′, wmax′, vmin′, andvmax′ are the same as the meanings of the above described nmin, nmax,mmin, mmax, wmin, wmax, vmin, and vmax.

Using the obtained data of the candidates, the positions of the stableoutline points of the dictionary form are computed as in step S43 (stepS45). In FIG. 21, the meanings of XMIN′ { }, XMAX′ { }, YMIN′ { }, andYMAX′ { } are the same as those of the above described XMIN { }, XMAX {}, YMIN { }, and YMAX { }.

These values XMIN′ { }, XMAX′ { }, YMIN′ { }, and YMAX′ { } arerespectively represented by XMIN′, XMAX′, YMIN′, and YMAX′ forsimplicity. At this time, the coordinates of the stable outline pointsat the upper left, upper right, lower left, and lower right portions arerespectively represented by (XMIN′, YMIN′), (XMAX′, YMIN′), (XMIN′,YMAX′), and (XMAX′, YMAX′).

According to the coordinate information about the stable outline pointsobtained in step S43, the height h0 and the width w0 of the input formare computed by the following equations (step S46 in FIG. 22).

w 0=XMAX−XMIN  (4)

h 0=YMAX−YMIN  (5)

According to the coordinate information about the stable outline pointsobtained in step S45, the height h0′ and the width w0′ of the dictionaryform are computed by the following equations (step S47).

w 0′=XMAX′−XMIN′  (6)

h 0′=YMAX′−YMIN′  (7)

Using the heights h0 and h0′ and widths w0 and w0′, the ratios Sw and Sh(enlargement ratio or reduction ratio) of the size of the input form tothe size of the dictionary form are computed (step S48).

Sw=w 0/w 0′  (8)

 Sh=h 0/h 0′  (9)

The size of the element of the difference vector having a stable outlinepoint of a table of a dictionary form as a starting point is obtained asa relative coordinate value indicating the position of managementinformation (step S49). In this case, the difference vector from aplurality of outline points near each vertex in the outline pointscorresponding to the cross ratios R′[1], . . . , R′[n′], L′[1], . . . ,L′[m′], U′[1], . . . , U′[w′], and D′[1], . . . , D′[v′] is assumed tobe preliminarily stored as position information in the dictionary 31.

The relative coordinate values from the upper left, upper right, lowerleft, and lower right stable points are respectively set as (fxmin1,fymin1), (fxmax1, fymin2), (fxmin2, fymax1), and (fxmax2, fymax2).

Then, based on the relative coordinate values and the ratios Sw and Shof the size of the input form to the size of the dictionary form, therough estimation of the position of the management information in theinput form is performed (step S50). In this process, four points havingthe following coordinate values are obtained as candidates for theposition of the management information.

(XMIN+Sw*fxmin1, YMIN+Sh*fymin1)

(XMAX−Sw*fxmax1, YMIN+Sh*fymin2)

(XMIN+Sw*fxmin2, YMAX−Sh*fymax1)

(XMAX−Sw*fxmax2, YMAX−Sh*fymax2)

Next, a rectangular cell of an input form containing the positions ofthese candidates is extracted (step S51). If the height of the cell isnearly Sh times the height H1 of the rectangular cell specified in thedictionary form and the width of the cell is nearly Sw times the widthW1 of the rectangular cell specified in the dictionary form, then it isdetermined that the rectangular cell contains management information.

Then, the, image data of a character string, etc. in the rectangularcell is output as management information (step S52), thereby terminatingthe process. Thus, the management information is extracted from an inputimage according to the result of detailed identification.

In this example, the dictionary 31 stores difference vectors with a partof a plurality of outline points corresponding to the cross ratios ofthe dictionary form as starting points. However, difference vectors fromall outline points can be preliminarily stored to select not only theoutline points near the vertexes of the table but also optional outlinepoints on the perimeter as stable outline points.

It is not always required to extract four stable outline points. Thatis, based on any one stable outline point as a reference point, theposition of management information can be obtained using the relativecoordinate values from the position of the reference point to quicklyperform the process. In general, the number of stable outline points forthe process is specified arbitrarily.

In step S51, a rectangular cell containing four candidate positions isextracted. However, a rectangular cell containing one or more candidatepositions can be extracted, or a rectangular cell whose distance fromone or more candidate positions is within a predetermined value can beextracted.

In the above described management information extracting process, theform of an input document and the position of management information canbe automatically learned and stored in the layout dictionary 31.According to the information, various table-formatted documents can beprocessed and the position of the management information can be computedwith high precision.

Described below in detail is the method of specifying the position ofthe management information in step S3 shown in FIG. 6. In the presentembodiment, the method of specifying the position of managementinformation by a user can be followed in either a user entry mode inwhich the user is instructed to explicitly specify the position or anautomatic learning mode in which a candidate for the managementinformation is automatically extracted.

In the user entry mode, the management information extraction apparatusinstructs the user to directly specify the position of managementinformation from among a number of rectangular cells forming a table asshown in FIG. 8. For example, if there are a large number of documentshaving the same form of design drawings, etc. and the position of themanagement information is specified on the first document, then only theposition information should be read from the second and the subsequentones, thereby realizing a batch input using an automatic documentfeeder.

In the automatic learning mode, a plurality of areas which arecandidates for an area containing management information are extractedusing the title extracting technology described in the formerapplication Ser. No. 08/694,503 which is now U.S. Pat. No. 6,035,061,the position of an area selected by the user from among the plurality ofareas is automatically learned, and the position is defined as the firstcandidate in the subsequent operations. If the user does not select anyof the candidates, but optionally specifies a new position, theninformation of that position is automatically input in the user'sinteractive operation.

Otherwise, the title extracting technology disclosed by the formerapplication can be applied to the user entry mode to select managementinformation from among a plurality of candidates. In this case, a formis recognized or identified in the process shown in FIG. 4 in theautomatic learning mode to check whether or not an input image matchesthe form in the dictionary 31. If the input image matches any of theforms in the dictionary 31, its position information is retrieved andpresented to the user. Unless the input image matches any of the formsin the dictionary 31, a candidate for the management information isextracted through the title extracting technology of the formerapplication.

FIG. 23 shows the management information extracting process with theabove described two modes. In the user entry mode shown in FIG. 23, themanagement information extraction apparatus first extracts a pluralityof candidates for management information from an input image 71 of atable-formatted document in the intractable title extracting processbased on the former application.

FIG. 24 is a flowchart showing the intractable management informationextracting process. When the process starts, the management informationextraction apparatus reads a document 71, and stores it as a documentimage in the memory (step S61). In this example, the original image isstored after being converted into a compressed image.

Next, the document image is labelled, large rectangles are extractedbased on the highest frequency value for the height of a rectangle (stepS62), rectangles encompassing a table (table rectangles) are extractedfrom the extracted large rectangles (step S63), and a rectanglecontaining management information is selected from the table rectangles(step S64). In this example, for example, a table rectangle occupyingthe largest area is selected.

Then, a character string is extracted from the selected table rectangle,a rectangle circumscribing a character string (character stringrectangle) is obtained, and its coordinates are stored in the memory(step S65). Next, a rectangle having a short width or a rectangle havinga height longer than its width is removed from the stored characterstring rectangles as a noise rectangle (step S66), and two or morecharacter string rectangles are integrated into one rectangle (stepS67).

The character string rectangles extracted from the table are obtained inthe above described processes. These character string rectangles maycontain a part of the ruled lines of the table. Therefore, the ruledline portions are extracted from inside the character string rectangles,and the portions are used as the boundary for dividing character stringrectangles (step S68).

Next, the number of characters in a character string rectangle iscounted to extract a character string rectangle corresponding tomanagement information (step S69). The obtained number of characters isused in the process in step S72 as an attribute of the character stringrectangle.

In the process in step S68, a character string rectangle is extractedfor each box encompassed by the ruled lines of a table. If the outlineof the original table is not rectangular, a character string rectangleoutside the table may exist. Therefore, if a character string rectanglehas no upper ruled line of a table when an upper ruled line is searchedfor, then it is regarded as the character string rectangle outside thetable and is removed (step S70).

Then, the character string rectangles in the table is rearranged inorder from the one closest to the coordinate at the upper left corner(step S71). When the number of characters in the character stringrectangle satisfies a predetermined condition, then the character stringrectangle is extracted as management information (step S72), therebyterminating the process. If there are a plurality of character stringrectangles satisfying the condition, then they are determined to becandidates for the management information in order from the one closestto the upper left corner of the table rectangle.

In this example, three candidates C1, C2, and C3 for managementinformation are extracted in an image 77, and a user interface 78 of themanagement information extraction apparatus outputs them in order fromthe highest priority to present them to the user. The user selects oneof them by pointing to it using a mouse when an appropriate candidate ispresented as management information. Unless an appropriate candidate ispresented, the user can correct a candidate for management informationby explicitly specifying another rectangular cell by pointing to itusing a mouse.

The management information extraction apparatus learns the position ofthe user-selected/corrected management information, and stores theposition information and ruled line structure in the dictionary 31 as auser dictionary 73. Thus, the management information extractionapparatus can use the position information directly specified by theuser in the subsequent processes.

In the automatic learning mode shown in FIG. 23, the managementinformation extraction apparatus first refers to a plurality of userdictionaries 73 and recognizes the forms of input images 71, 72, etc.

If the table-formatted input image 71 is input and it is determined thatit matches the form of any of the user dictionaries 73 as a result ofreference in the rough classification and detailed identification, thenmanagement information C1 at the position specified in a resultant form74 is output and presented to the user. If the user accepts themanagement information C1, the information is adopted as is. Unless theuser accepts it, the user is instructed to select appropriateinformation from among other position information C2, C3, etc.

Unless the input image 71 matches the any form in the user dictionary73, the above described intra-table management information extractingprocess is performed and the candidates C1, C2, C3, etc. for themanagement information are extracted from a resultant image 75. The userinterface 78 presents these candidates to the user in order from thehighest priority, and the user selects an appropriate candidate asmanagement information from among the presented candidates. Unless anappropriate candidate is presented, the candidates for managementinformation can be corrected by explicitly specifying anotherrectangular cell.

The management information extraction apparatus learns the position ofthe user-selected/corrected management information in the input image71, and stores the position information and the ruled line structure asthe user dictionary 73 in the dictionary 31 for use in the subsequentprocesses.

If a normal non-table document image 72 is input, then it is determinedas a result of recognizing the form that there are no ruled lines. Then,a plurality of candidates for management information are extracted inthe title extracting process from a document image without ruled linesaccording to the former application.

FIG. 25 is a flowchart showing this management information extractingprocess. When the process starts, the management information extractionapparatus reads the document 72 and stores it as a document image in thememory (step S81). In this process, the original image is stored afterbeing converted into a compressed image.

Next, the document image is labelled, a character string is extracted asa result of the labelling process, and the coordinate of the characterstring rectangle is stored in the memory (step S82). Then, a rectanglehaving a short width or having a width shorter than its height isremoved as a noise rectangle from the stored character string rectangles(step S83), and additionally a rectangle which does not seem to be acharacter string is removed. Then, a document area is determined (stepS84).

The remaining character string rectangles are rearranged in the verticaldirection (in the y-coordinate directions) (step S85). A rectanglecontaining an image of a character box (character box rectangle) isextracted, and then a character string rectangle in the character boxrectangle is marked as a rectangle with a character box (step S86).Furthermore, a rectangle containing an underline image is extracted, andthe character string rectangle right above the extracted rectangle ismarked as an underline rectangle (step S87).

Next, a point-counting process is performed to determine the probabilityof a title based on the features such as the position of a characterstring rectangle in the document, character size, whether or not it is arectangle with a character box or an underline rectangle, etc. toextract one or more high-point character string rectangles as candidatesfor a title (step S88). Based on the result, the source and destinationinformation about the document is extracted (steps S89 and S90). Thus,the title, destination, and source information is extracted as acandidate for management information.

In this example, in the image 76, three candidates C4, C5, and C6 for atitle and the destination and source information are extracted. The userinterface 78 outputs these data in order from the highest priority andpresents them to the user. The user selects one of them by pointing toit using a mouse when an appropriate candidate is presented asmanagement information. Unless an appropriate is presented, thecandidate for the management information can be corrected by explicitlyspecifying another character string rectangle in the pointing process.

Next, the usage of the extracted management information is explained byreferring to FIGS. 26 through 28. Conventionally, only keywords orcharacter codes of document names, etc. are used as managementinformation for use in handling images. However, the electronic filingsystem provided with the management information extraction apparatusaccording to the present invention has the function of storing a part ofa document image as an index in addition to character codes. Thus,retrieval using an image can be effective when the reliability ofcharacter codes is low.

The system according to the present invention allows the user to selectthe storing method for management information using a character code oran image code. Based on the selection result, selected data is stored asmanagement information. When an image is retrieved, the system instructsthe user to select a method of retrieving management information, andthe management information is retrieved using a character code or animage based on the selection result. The system also has the function ofsimply browsing the stored character codes or images.

FIG. 26 is a flowchart showing the image information storing process.When the process starts, the electronic filing system first receives adocument image (step S101), computes the position of the managementinformation in the process as shown in FIG. 4, and extracts a characterstring of management information (step S102). Then, the system instructsthe user to select a method of storing management information for theextracted character string (step S103).

The storing method is followed in a character recognition mode in whicha character string is character-recognized and converted into acharacter code or in an image mode in which a character string is notcharacter-recognized but stored as an image. If the user selects thecharacter recognition mode, characters are recognized (step S104), and astoring method is selected depending on the reliability of therecognition result (step S105).

The method of computing the reliability of character recognition is, forexample, to use the technology disclosed in the “Character RecognitionMethod and Apparatus” according to a former application (Japanese PatentApplication H8-223720). According to this technology, the system firstcomputes a probability parameter from the distance value between thecharacter code obtained as a recognition result and an input characterpattern, and generates a conversion table for use in converting theprobability parameter into a correct recognition probability using a setof character patterns and correctly-recognized codes. Based on theconversion table, the correct recognition probability to the probabilityparameter is obtained, and the correct recognition probability is usedas the reliability of the recognition result.

If the reliability of character recognition is lower than apredetermined threshold, then the user is notified that an image isstored, and the image of the character string as well as its charactercode is stored as management information (step S106), therebyterminating the process. If the reliability is equal to or higher thanthe predetermined threshold, then the character code is stored asmanagement information (step S107), thereby terminating the process.

If the user selects the image mode, then an image of a character stringis stored as management information (step S108), thereby terminating theprocess. In step S103, it is possible to enter a mode in which both acharacter code and an image code are stored as an alternative storingmethod. Assuming that the information about the distance value betweenthe character code obtained as a recognition result and the inputcharacter pattern indicates the reliability in step S105, it can bedetermined that the smaller the distance value is, the higher thereliability becomes.

FIG. 27 shows an example of a storage table for storing managementinformation. The management information storage table has a charactercode storage area, an image storage area, and a type flag areaindicating whether information is stored in a character code or an imagecode.

For example, the type flag 0 indicates that only the character code isstored. The type flag 1 indicates that only the image code is stored.The type flag 2 indicates that both the character code and image codeare stored.

FIG. 28 is a flowchart showing the management information retrievingprocess for retrieving such management information. When the processstarts, the electronic filing system first instructs the user to selecta method of retrieving management information (step S111). Theretrieving method is followed in three modes, that is, a mode usingcharacter codes, a mode using images, and a mode displaying a list ofcharacter codes and images to be browsed by a user.

When a user selects character code retrieval, management information isretrieved using a character code (step S112). When a user selects imageretrieval, management information is retrieved using an image (stepS113). When a user selects browsing, a list of character codes andimages stored in the management information storage table is displayed(step S114). After the selection, the process terminates.

When information is retrieved using images in step S113, the user isinstructed to designate a specific image file or an appropriate image isselected and displayed. Then, the user is instructed to designate aspecific rectangular portion as a retrieval key, and the user-designatedportion of the image is compared with the image stored in the managementinformation storage table. The comparison between images is made using awell-known template matching described in, for example, “Digital ImageProcess for Recognizing Image [I]” by Jun'ichiro Toriwaki, published byShokodo.

In the template matching, the designated potion of the image is used asa model (template) with which the image in each management informationstorage table is compared in computing the similarity between them toobtain management information indicating the highest similarity orindicating similarity higher than a predetermined value. A documentimage corresponding to the obtained management information is displayedas a retrieval result.

According to such an electronic filing system, a character string ofmanagement information is not only stored/retrieved using charactercodes, but also can be stored/retrieved using images. Therefore,characters which are difficult to be correctly recognized such astextured characters, designed fonts, logos, etc. can be processed asmanagement information.

In steps S15 and S16 in FIG. 17, the cross-ratio DP matching is used toidentify a table-formatted document form (structure of format). However,the detailed identification can be performed by any other of optionalmethods.

In another well-known automatic form identifying method, the feature ofa known table-formatted document form is entered as a model in thedictionary 31. When an image of an unknown table-formatted document isinput, the feature is computed from the image, it is compared with themodel in the dictionary using a model matching method, and the modelindicating the highest similarity is obtained.

In a model matching method, the entire table is first normalized, theposition of the central point of each rectangular cell is computed, andthe model having a central point at almost the same position as theabove described rectangular cell is voted. The model which obtains thelargest number of votes is defined as the optimum model. Thenormalization of a model refers to an adjusting process such asconverting the entire image in a way that the width-to-height ratio isone to one.

Another method is to perform a matching process using a connected graph.In this method, a ruled line is extracted, the entire table isnormalized, and then a combination of ruled lines nearly equal in lengthand position is obtained between the input unknown document and eachmodel. As shown in FIG. 29, nodes indicating combinations of ruled linesare arranged on a plane to generate a connected graph by connectingnodes satisfying predetermined geometrical restrictions through a path.

Geometrical restrictions refer to a restriction condition that the orderof the ruled lines between an unknown document and a compared model ispreservel, or a restriction condition that it is prohibited that oneruled line of one table corresponds to a plurality of ruled lines ofanother table. In an association graph comprising four nodes shown inFIG. 29, ruled lines a1, a2, a3, and a4 of the unknown documentrespectively correspond to ruled lines b1, b2, b3, and b4 of the model.

When all nodes are connected to all other nodes through a path in asubgraph, which is a part of a connected graph, the subgraph is referredto as a clique. The connected graph shown in FIG. 29 itself is a clique.The similarity between an unknown document and a model can be obtainedby obtaining the clique having the largest number of nodes in anassociation graph, and the model indicating the highest similarity isextracted as the optimum model.

In the above described model matching process, an unknown input documentis normalized and then compared with a model in features. However, ifthe extraction precision of the outline of the table is lowered or aform is slightly amended by adding a row, etc., then the total featuresare affected, resulting in unstable identification. Especially, theabove described method based on the central position of a rectangularcell is subject to a larger influence from such an affect.

In the above described method using a connected graph, the condition onwhich a node is generated can be moderated, but the size of the graph isenlarged, and particularly, it takes a long time to obtain the maximumclique.

Therefore, the following embodiment of the present invention isexplained to present a high-speed and robust matching method followed inresponse to a ruled line extraction error due to a break in a line or anoise and a change in form, etc. To be robust means that a matchingresult is hardly affected by an error or change.

In this matching method, the size and position of the ruled linerelative to the entire table are regarded as features in checking thepossibility of the correspondence of ruled lines between an unknowndocument and each model to obtain the combination of corresponding ruledlines. In this example, a plurality of ruled lines can correspond to oneruled line by setting a broad possible condition. Also in the case thatthe outline of a table is not correctly extracted, if the failure iswithin an allowable range, permitting a redundant correspondenceprevents a correct correspondence between ruled lines from being missed.

Next, compatible correspondence relations are gathered into one group ina set of obtained correspondence relations, and each correspondencerelation of ruled lines is assigned to one group. At this time, theposition of a ruled line and the distance between ruled lines are usedas features. Using the relative relation between ruled lines asfeatures, a break in a line or noise can be prevented from affecting thetotal features of ruled lines.

Furthermore, when the correspondence relations are grouped, the numberof processes for checking the compatibility can be considerably reducedas compared with the case of generating the connected graph by setting astrict compatibility condition in a way that the compatibility can betransitional. Since the correspondence relation in each group can berepresented by a single path on a plane, it takes only a short time tocount the number of correspondence relations.

A transitional compatibility refers to, for example, that correspondenceA is always compatible with correspondence C when correspondence A iscompatible with correspondence B, and correspondence B is compatiblewith correspondence C. In this case, since it is not necessary to checkthe compatibility between correspondence A and correspondence C, theprocess can be performed at a high speed.

Finally, a combination of the obtained groups including the largestnumber of correspondences is searched for among consistent combinationsof the groups. Thus, a model can be extracted if most of its ruled linescorrectly correspond to those of an input document, even in the casethat a small amendment such as adding only one row to a table, etc. ismade in the document.

FIG. 30 is a flowchart showing the form identifying process in such amatching method. This process corresponds to the processes in steps S11,S12, S15, and S16 shown in FIG. 4, and specifically relates to detailedidentification of an input image. When the process starts, themanagement information extraction apparatus first receives an image(step S121), and extracts ruled lines from the input image (step S122).

Each ruled line is rearranged on the coordinate of the upper left vertexof the rectangle encompassing the ruled line (ruled line rectangle) inorder from the smallest y coordinate value for a horizontal ruled lineand from the smallest x coordinate value for a vertical ruled line (stepS123). If horizontal ruled lines indicate the same y coordinate, theyare sorted in the ascending order of the x coordinate. If vertical ruledlines indicate the same x coordinate, they are sorted in the ascendingorder of the y coordinate.

Next, rough information is extracted about each of the horizontal andvertical ruled lines (step S124). Rough information refers to relativevalues indicating the length and position of a ruled line to the entiretable, and is represented by a set of three integers. And, consideringall combinations of two ruled lines in each of the vertical andhorizontal directions, detailed information relating to each combinationis extracted (step S125). The detailed information expresses therelative relation in length and position between two ruled lines.

The rough information and detailed information about a model to becompared with an input image are preliminarily extracted and stored inthe layout dictionary 31. Therefore, the rough information and detailedinformation about the input image are compared with those about themodel for a model matching (step S126). The optimum model is output asan identification result (step S127), thereby terminating the process.

Next, the processes in steps S124, S125, S126, and S127 are described indetail by referring to FIGS. 31 through 41.

In step S124, the reference width W, reference height H, reference xcoordinate x0, and reference y coordinate y0 are obtained as apreprocess prior to obtaining the rough information. First, the maximumlength is obtained for horizontal ruled lines. Among thehorizontal-ruled lines indicating a length ratio higher than or equal toa predetermined threshold (for example, 0.8), the first and the lastruled lines are obtained as reference contour horizontal ruled lines.

The maximum length is obtained also for vertical lines. As in the caseof horizontal ruled lines, two reference contour vertical ruled linesare obtained. Then, with respect to a circumscribing rectangle of theobtained four reference contour ruled lines, a reference width W, areference height H, and a reference point at the upper left vertexhaving the reference coordinates (x0, y0) are determined.

For example, in the table-formatted document as shown in FIG. 31,horizontal ruled lines 81 and 82 are extracted as reference contourhorizontal ruled lines, and vertical ruled lines 83 and 84 are extractedas reference contour vertical ruled lines. The width of thecircumscribing rectangle of the reference contour ruled lines isregarded as the reference width W and its height as the reference heightH. The coordinates of the upper left vertex 85 of the circumscribingrectangle are regarded as the reference coordinates (x0, y0).

Short ruled lines such as the horizontal ruled lines 86 and 87. can beremoved from candidates for the reference contour ruled lines byselecting reference contour ruled lines from among the ruled lineslonger than a length computed from the maximum length.

The above described reference width W, height H, and coordinates (x0,y0) can also be obtained as follows. First, coordinate values vmaxx,vminx, vmaxy, vminy, hmaxx, hminx, hmaxy, hminy are defined as thecandidates for reference coordinates as follows.

vamxx=(maximum value of x coordinate of lower right vertex of verticalruled line rectangle)

vminx=(minimum value of x coordinate of upper left vertex of verticalruled line rectangle)

vmaxy=(maximum value of y coordinate of lower right vertex of verticalruled line rectangle)

vminy=(minimum value of y coordinate of upper left vertex of verticalruled line rectangle)

hamxx=(maximum value of x coordinate of lower right vertex of horizontalruled line rectangle)  (10)

hminx=(minimum value of x coordinate of upper left vertex of horizontalruled line rectangle)

hmaxy=(maximum value of y coordinate of lower right vertex of horizontalruled line rectangle)

hminy=(minimum value of y coordinate of upper left vertex of horizontalruled line rectangle)

Next, according to these coordinate values, candidates for a referencewidth and a reference height are obtained by the following equations.

W 1=vmaxx−vminx

 W 2=hmaxx−hminx

H 1=hmaxy−hminy

H 2=vmaxy−vminy  (11)

The reference width W is obtained by

W=max{W1, W2}  (12)

where x0=vminx when W=W1 and x0=hminx when W=W2.

The reference width H is obtained by

H=min{H1, H2}  (13)

where y0=hminy when H=H1 and y0=vminy when H=H2.

Thus, the reference width W, reference height H, and referencecoordinates (x0, y0) are obtained. However, this method is subject tothe influence of noise, etc. as compared with the above describedmethod, and shows relatively lower robustness.

The upper left vertex of the circumscribing rectangle of the fourreference contour ruled lines is selected as a reference point in thisembodiment. Also, an optional point on the perimeter of thecircumscribing rectangle such as a lower left vertex, an upper rightvertex, a lower right vertex, etc. can be selected as a reference point.In any case, the following processes are commonly performed.

Based on the size of the obtained table and the reference coordinate,three features (rough information) length1, twist, and position areobtained from the length of each ruled line rectangle and the centralposition. In the case of horizontal ruled lines, these features arecomputed by the following equation based on the length L1 of a ruledline rectangle 91 and its central coordinates (x1, y1) as shown in FIG.32.

length1=integer portion of [(L1/W)×100]

twist=integer portion of [((x1−x0)/W)×100]  (14)

position=integer portion of [((y1−y0)/H)×100]

In the case of vertical ruled lines, these features are computed by thefollowing equation based on the length L1 of a ruled line rectangle 92and the central coordinates (x1, y1) as shown in FIG. 33.

length1=integer portion of [(L1/H)×100]

twist=integer portion of [((y1−y0)/H)×100]  (15)

position=integer portion of [((x1−x0)/W)×100]

In the computed features, length1 indicates the relative ratio of thelength of the ruled line to the size of the table, and twist andposition indicate the relative position of the ruled line to thereference point of the table.

Next, in step S125, detailed information indicating the relativerelation between two ruled lines is obtained. The detailed informationcan be represented by three values, that is, assuming that the length ofone ruled line rectangle is 1, the length2 of the other ruled linerectangle; the displacement length differ in the x direction between thecenters of the ruled line rectangles, and the displacement length heightin the y direction between the centers of the ruled line rectangles.

First, all combinations of two horizontal ruled lines are extracted. Ineach combination, the length of one ruled line rectangle 93 (a highersorting order) is L1, the central coordinates of the rectangle 93 are(x1, y1), the length of the other ruled line rectangle 94 (a lowersorting order) is L2, and the central coordinates of the rectangle 94are (x2, y2) as shown in FIG. 34. At this time, the displacement dw inthe x direction and the displacement dh in the y direction between thecenters of the ruled line rectangles are defined by the followingequations based on the center of the ruled line rectangle 93.

 dw=x 2−x 1

dh=y 2−y 1  (16)

According to this definition, if the center of the ruled line rectangle94 is located at the right of the center of the ruled line rectangle 93,dw is a positive value. If the center of the ruled line rectangle 94 islocated at the left of the center of the ruled line rectangle 93, dw isa negative value. Similarly, if the center of the ruled line rectangle94 is located under the center of the ruled line rectangle 93, dh is apositive value. If the center of the ruled line rectangle 94 is locatedabove the ruled line rectangle 93, dh is a negative value.

The above described three features length2, differ, and height arecomputed by the following equation.

length2=L2/L1

differ=i dw/L1  (17-1)

height=dh/L1

Similarly, all combinations of two vertical ruled lines are extracted.In each combination, the length of one ruled line rectangle 95 (a highersorting order) is L1, the central coordinates of the rectangle 95 are(x1, y1), the length of the other ruled line rectangle 96 (a lowersorting order) is L2, and the central coordinates of the rectangle 96are (x2, y2) as shown in FIG. 35. Then, dw and dh are obtained byequation (16), and detailed information length2, differ, and height arecomputed by the following equation.

length2=L2/L1

differ=dh/L1  (17-2)

height=dw/L1

In equation (17-2) compared with equation (17-1), the definitions ofdiffer and height are reversed. Then, in step S126, the similarity of aform is computed by comparing the rough information and detailedinformation about an input image with those about each model. Thecomparison is made separately for horizontal ruled lines and verticalruled lines.

FIG. 36 is a flowchart showing such a model matching process. When theprocess starts, the management information extraction apparatus firstgenerates a p×m table shown in FIG. 37 with p as the number ofhorizontal ruled lines of an input image of an unknown document and m asthe number of horizontal ruled lines of a model (step S131).

In this example, p=12, m=15, and the row and column numbers of the tablebegin with 0. The element (item) of the j-th column in the i-th row inthe table is data indicating the correspondence relation between thei-th ruled line of the input image and the j-th ruled line of the model.Such a table is hereinafter referred to as a matching table.

Then, it is determined, according to the rough information, whether ornot the i-th horizontal ruled line IP(i) of an input image correspondsto the j-th horizontal ruled line MO(j) of a model. If there is apossibility that they correspond to each other, a node is allotted tothe element at the j-th column in the i-th row in the matching table(step S132). Thus, a combination of the horizontal ruled line IP(i) andthe horizontal ruled line MO(j) is described on the matching table. Atthis time, the condition of the possibility of correspondence is notstrictly set, but allows one ruled line to correspond to a plurality ofruled lines.

In this example, the rough information (length1, twist, and position) ofthe ruled line IP(i) is set as (ipl, ipt, and ipp) respectively, and therough information of the ruled line MO(j) is set as (mol, mot, and mop)respectively. When the difference between the corresponding values issmaller than a predetermined value, it is determined that the ruled lineIP(i) can correspond to the ruled line MO(j).

A practical condition for the possibility is set by the followingequation.

|ipl−mol|<β

|ipt−mot|<β  (18)

|ipp−mop|<α

where parameters α and β are thresholds which respectively depend on thenumber of horizontal ruled lines and the number of vertical ruled linesin the table.

These parameters α and β which depend on the number of ruled lines arepositive integers. The smaller the number of ruled lines is, the largervalues they indicate. The larger the number of ruled lines is, thesmaller values they indicate. At this time, the condition ofinequalities (18) extends the range of a search in a matching process ifthe density of the ruled lines in the table is low, but reduces therange of a search in a matching process if the density of the ruledlines is high. The parameters α and β can be defined, for example, asfunctions simply decreasing depending on the number of horizontal andvertical ruled lines as shown in FIG. 38.

Thus, the similarity between an input image and a model in relativefeature to the outline portion of a table can be extracted byrepresenting by a node the correspondence relation between ruled linessimilar in rough information.

Next, according to the detailed information, arranged nodes are searchedfor a combination of those satisfying a predetermined relationship, thatis, those compatible with each other (step S133), and the compatiblenodes are regarded as belonging to the same group and connected witheach other through a path.

When node n(i, j) at the j-th column in the i-th row and node n(k, 1) atthe l-th column in the k-th row satisfy the predetermined relationship,it indicates that the relationship between the i-th ruled line and thek-th ruled line of an input image is proportional to the relationshipbetween the j-th ruled line and the l-th ruled line of a model. That is,when the i-th ruled line of an input image overlaps the j-th ruled lineof a model, the k-th ruled line of an input image overlaps the l-thruled line of a model.

Connecting these nodes through a path makes it possible to classify thenodes into several groups. The larger the number of nodes a groupcontains, the higher the similarity between an input document and amodel the group represents. Therefore, the similarity computation can beeffectively performed in a model matching process on such a group ascontains a larger number of nodes.

When a node compatible with a specified node is searched for, a searchis always performed with the nodes in an area obliquely below and to theright of the specified node to improve the efficiency of the process.Thus, a clique as shown in FIG. 29 is not generated, and a pathconnecting a large number nodes can be obtained at a high speed. Apractical process of generating a path is described later.

Then, consistent combinations of paths are obtained from among theobtained set of paths, and are searched for the one containing thelargest number of nodes (step S134). The detected combination of pathsis defined as the optimum path set. A consistent combination of pathsindicates that the ranges of a set of ruled lines corresponding to thenodes in respective paths do not overlap each other.

In the matching table shown in FIG. 37, two cases are considered inwhich the ranges of two ruled line sets overlap each other. One is thecase, as shown in FIG. 39, that a sequence relationship is reversedbetween an input image and a model. The other is the case, as shown inFIG. 40, that two or more ruled lines correspond to a ruled line.

In the matching table shown in FIG. 39, the range of the ruled lines onthe model side belonging to a group indicated by solid lines isconsidered to span from the 0th to the 9th ruled lines. The range of theruled lines on the model side belonging to a group indicated by brokenlines is considered to span from the 7th to the 8th ruled lines.Therefore, the ranges of the two ruled line sets overlap each other.Similarly, in FIG. 40, the range of the ruled line sets of the groupsindicated by solid lines and broken lines overlap on the model side.

In the optimum path set containing no inconsistent combinations ofpaths, the ranges of ruled line sets do not overlap each other on eitherside of an input image or a model as shown in FIG. 41. Thus, thecorrespondence relation among the ruled lines represented by nodescontained in the optimum path set is referred to as the optimumcorrespondence.

Next, assuming that the number of horizontal ruled lines of an inputimage is ph, the number of horizontal ruled lines of a model is mh, andthe number of nodes contained in the optimum path set for the horizontalruled lines is maxh, the similarity SH between the horizontal ruledlines of the input image and the model is computed by the followingequation (step S135).

SH=maxh/ph+maxh/mh  (19)

The similarity SH indicates the sum of the ratio of ruled linescorresponding to the optimum path set in the ruled lines of the inputimage and the ratio of rules lines corresponding to the optimum path setin the ruled lines of the model. Normally, the more similar the featuresof the input image are to the features of the model, the larger the sumbecomes.

The management information extraction apparatus processes the verticalruled lines as in the processes performed on the horizontal ruled linesin steps S131 through S135. Assuming that the number of vertical ruledlines of an input image is pv, the number of vertical ruled lines of amodel is mv, and the number of nodes contained in the optimum path setfor the vertical ruled lines is maxv, the similarity SV between thevertical ruled lines of the input image and the model is computed by thefollowing equation.

SV=maxv/pv+maxv/mv  (20)

Finally, the similarity S of the ruled lines between the input image andthe model is computed by the following equation using the SH and SV,thereby terminating the model matching process.

S=SH+SV  (21)

For example, the similarity between a model and an input image iscomputed by performing the above described matching process using eachcandidate of table obtained by the rough classification as the model. Instep S127, the model indicating the highest similarity is output as theoptimum model. Thus, a dictionary form corresponding to the input imagecan be obtained.

Next, the node arranging process, the path generating process, and theoptimum path set determining process shown in FIG. 36 are describedfurther in detail by referring to FIGS. 42 through 48.

FIG. 42 is a flowchart showing the node arranging process in step S132shown in FIG. 36. In FIG. 42, the rough information length1, twist,position of the i-th ruled line of an input image is respectivelyrepresented by ipl(i), ipt(i), ipp(i), and the rough information aboutthe j-th ruled line of a model is represented by mol(j), mot(j), andmop(j).

The data indicating the element at the j-th column in the i-th row onthe matching table is represented by sign (i, j). When sign (i, j)=0, anode is not set at a corresponding element. When sign (i, j)=1, a nodeis set at the corresponding element.

When the process starts, the management information extraction apparatusfirst determines whether or not the condition |ipp(i)−mop(j)|<α isfulfilled (step S141). Unless the condition is fulfilled, sign (i, j) isset to 0 (step S142), thereby terminating the process.

If the condition in step S141 is fulfilled, then the managementinformation extraction apparatus determines whether or not the condition|ipt(i)−mot(j)|<β is fulfilled (step S143). Unless the condition isfulfilled, sign (i, j) is set to 0 (step S144), thereby terminating theprocess.

If the condition in step S143 is fulfilled, then the managementinformation extraction apparatus determines whether or not the condition|ipl(i)−mol(j)|<β is fulfilled (step S145). Unless the condition isfulfilled, sign (i, j) is set to 0 (step S146), thereby terminating theprocess. If the condition in step S145 is fulfilled, then sign (i, j) isset to 1, and the node is set at the j-th column in the i-th row (stepS147), thereby terminating the process.

The above described processes are performed for all positions (i, j) ofthe matching table so that nodes indicating the correspondence betweentwo ruled lines whose rough information is similar to each other are setat the position corresponding to the ruled lines.

FIGS. 43 and 44 are flowcharts showing the path generating process instep S133 shown in FIG. 36. When the process starts, the managementinformation extraction apparatus first performs an initializing process(step S151 shown in FIG. 43). In this process, the position (i, j) ofthe element at which a node is set on the matching table is stored as anode string in a storage area in the memory. The nodes are arranged inan ascending order of row numbers i in the storage area. When nodes areassigned the same row number i, they are arranged in an ascending orderof column numbers j. Each node in a node string is assigned a flagindicating whether or not it is connected through a path.

For example, the node string in the storage area corresponding to thematching table shown in FIG. 37 is as shown in FIG. 45. In the storagearea shown in FIG. 45, the positions (0, 0), (1, 0), (1, 1), (2, 0), . .. , (11, 14) of the nodes on the matching table are sequentially stored,and the values of the flags are initialized to 1. If the value of a flagis 1, it indicates that a corresponding node is not yet connectedthrough a path.

Next, the leading data in the storage area is accessed (step S152), andi and j are read from the access point to mark the element on thematching table corresponding to the position (step S153). The node ofthe marked element is defined as a reference node with “sign” of theelement set to 0 and the corresponding flag in the storage area set to 0(step S154).

Then, the value of the control variable “count” is set to 0 (step S155),and it is checked whether or not the marked element corresponds to thelast column of the matching table or whether or not the value of “count”has reached a predetermined constant h (step S156). Unless theseconditions are fulfilled, the marked position is moved by one column tothe right (step S157), and it is checked whether or not the position ofthe mark corresponds to the last row (step S158).

If the position of the mark corresponds to the last row, then 1 is addedto the value of “count” (step S159), and the processes in and after stepS156 are repeated. Unless the position of the mark corresponds to thelast row, the mark is moved by one row downward (step S160), and it ischecked whether “sign” of the marked element is 0 or 1 (step S161).

If the value is 0, no nodes are set at the position of the mark.Therefore, the processes in and after step S158 are repeated to checkanother element in the column. If “sign” indicates 1, then a node is setat the position of the mark, and it is determined whether or not thenode can be connected to the reference node through a path (step S162).It is determined using the detailed information, that is, length2,differ, and height, between the ruled lines corresponding to the nodes,whether or not the two nodes can be connected through a path.

For example, as shown in FIG. 46, the detailed information indicatingthe relationship between the ruled line 101 corresponding to thereference node and the ruled line 102 corresponding to the node to bedetermined in the input image is set as length2=L2/L1, differ=dw/L1, andheight=dh/L1.

In the model, the detailed information indicating the relationshipbetween the ruled line 103 corresponding to the reference node and theruled line 104 corresponding to the node to be determined is set aslength2=L2′/L1′, differ=dw′/L1′, and height=dh′/L1′.

At this time, if the following inequalities are fulfilled using theempirical thresholds ε1, ε2, and ε3, the reference node is compatiblewith the node to be determined and they can be connected to each otherthrough a path.

|L2/L1−L2′/L1′|<ε1

|dw/L1−dw′/L1′|<ε2

|dh/L1−dh′/L1′|<ε3  (22)

By setting thresholds ε1, ε2, and ε3 sufficiently small, inequalities(22) indicate that the graphics comprising the ruled lines 101 and 102are similar to the graphics comprising the ruled lines 103 and 104. Ifthese ruled line graphics are similar to each other, then there is highpossibility that the ruled line 102 corresponds to the ruled line 104when the ruled line 101 corresponds to the ruled line 103. Thus, thesetwo nodes are regarded as being compatible with each other.

Thus, under such a similarity condition for setting a path, the numberof determinations of compatibility between nodes can be reduced. Forexample, if node 97 is a reference node in the matching table shown inFIG. 37, then node 98 is considered to be compatible with node 99 underthe condition that node 97 is compatible with node 98 and node 97 iscompatible with node 99.

If it is determined that node 99 can be connected to the reference node97 through a path, then it is determined that node 99 can also beconnected through a path to node 98 already connected to the referencenode 97 through a path.

When the node positioned at the mark cannot be connected to thereference node through a path, the processes in and after step S158 arerepeated to check another node in the same column. If they can beconnected to each other through a path, then the flag in the storagearea corresponding to the node positioned at the mark is rewritten to 0(step S163). Thus, it is recorded that the node is connected to thereference node or a node immediately before the node on the path. Then,the processes in and after step S156 are repeated to check the node ofthe next column.

In the processes in and after step S156, the position of the mark ismoved forward by one column and then by one row to search for theelement obliquely below to the right. A path can be sequentiallyextended in a direction obliquely below and to the right in the matchingtable by repeating the above described processes.

If the condition in step S156 is fulfilled, it is checked whether or notthe number of hits of the paths extending from the reference node is twoor more (step S164 shown in FIG. 44). The number of hits refers to thenumber of nodes on the path. If the number of nodes on the path is twoor more, then the path is formally registered and the information aboutthe nodes on the path is stored (step S165). If the number of the nodeson the path is 1, then it indicates there are no paths extended from thereference node to any other nodes. As a result, the path is notregistered.

Next, it is checked whether or not there is data remaining unaccessed inthe storage area (step S166). If there is the data, the access point inthe storage area is moved forward by one (step S167), and the value ofthe flag at the position is checked (step S168). If the flag indicates0, then the node at the position has already been added to the path andthe next data is checked by repeating the processes in and after stepS166.

If the flag indicates 1, then the node at the position has not beenadded to the path. Therefore, the processes in and after step S153 arerepeated. Thus, a new path is generated with the node defined as a newreference node. In step in S166, if the access point in the storage areareaches the trailing point, then the process terminates.

FIG. 47 is a flowchart showing the optimum path set determining processin step S134 shown in FIG. 36. In this process, a matching table of prows and in columns of horizontal ruled lines or vertical ruled lines ishandled using the array score (i) (i=0, 1, 2, . . . , m) indicating thenumber of nodes of a provisional path set for the optimum path set andthe array rireki (i) (i=0, 1, 2, . . . , m) indicating the row number.

When the process starts, the management information extraction apparatusfirst sets the score (m) indicating the initial value of the number ofnodes of the optimum path set to 0, and sets the rireki (m) indicatingthe initial value of the row number to p−1 (step S171).

Next, the variable i indicating the column number is set to m-1 (stepS172), and in the registered paths, a set of paths including the upperleft node corresponding to the column number i as a starting point, isset as Path (i) (step S173). Then, score (i) is set to equal score(i+1), and rireki (i) is set to equal rireki (i+1) (step S174). Thescore (i) indicates the number of nodes of the provisional path set inthe range from the i-th column to the last column (m−1-th column).

Next, one of the paths is obtained from the set Path (i), and score (i)is updated according to the information about its node (step S175).Then, it is checked whether or not a path remains in the set Path (i)(step S176). If yes, the next path is obtained and the computation ofscore (i) is repeated.

When the computation of all paths in the set Path (i) is completed, itis determined whether or not i has reached 0 (step S177). If i is equalto or larger than 1, i is set to i−1 (step S178), and the processes inand after step S173 are repeated. When i has reached 0, the obtainedvalue of score (0) is defined as the number of nodes of the finaloptimum path set (step S179), thereby terminating the process.

The value of score (0) obtained from the matching table of horizontalruled lines is used as maxh in equation (19) in computing thesimilarity. The value of score (0) obtained from the matching table ofvertical ruled lines is used as maxv in equation (20) in computing thesimilarity.

Next, the node number updating process in step S175 shown in FIG. 47 isdescribed by referring to FIG. 48. When the node number updating processstarts, the management information extraction apparatus first retrievesone of the paths from the set Path (i). The row number of the startingpoint of the path is set as sg, and the column number and the row numberof the node at the lower right ending point of the path, arerespectively set as er and eg. The number of nodes contained in the pathis set as “hits” (step S181).

For example, in the matching table shown in FIG. 37, Path (11) containspaths p1 and p2 in the area obliquely below to the right when i=11. Forpath p1, the values sg, er, and eg are respectively 8, 14, and 11. Forpath p2, the values sg, er, and eg are respectively 6, 12, and 7.

Next, the variable j indicating the column number is set to er+1 (stepS182), and the values of eg is compared with rireki (j) (step S183). Inthis case, if the value of eg is larger than rireki (j), it isdetermined whether or not score (j)+hits >score (i) is fulfilled, orboth score (j)+hits=score (i) and eg<rireki (i) are fulfilled (stepS184).

If either of the above described conditions is fulfilled, score (i) isset as score (j)+hits, and rireki (i) is set as eg (step S185), therebyterminating the process.

If eg is equal to or smaller than rireki (j) in step S183 or neither ofthe conditions in step S184 is fulfilled, then j is set to j+1 (stepS186), and j is compared with m (step S187). If j is equal to or smallerthan m, then the processes in and after step S183 are repeated. If jexceeds m, then the process terminates.

Thus, a new provisional path set for the optimum path set is extractedfrom sets each obtained by adding one path to the provisional path setdetermination the immediately previous process, and the number of itsnodes is recorded in the score (i). The number of nodes of theprovisional path set for the optimum path set in the range from the i-thcolumn to the last column is obtained by repeating these processes onall paths of Path (i).

For example, in FIG. 37, two combinations, that is, path p1 only and thecombination of paths p2 and p3, can be considered as the combination ofconsistent paths in the range from the 11th column to the last column.Since the number of nodes of these combinations is 4 in either case,score (11) equals 4.

The above described form identifying process is applied not only to themanagement information extraction apparatus but also any imagerecognition apparatus such. as a document recognition apparatus, adrawing reading apparatus, etc., and is effective in identifying thestructure of ruled lines of an arbitrary image.

In the form identifying process according to the present embodiment, therelationship among ruled lines is used as a feature. Therefore, a stableand correct identification can be attained even if a part of ruled linescannot be successfully extracted due to a break in a line or noises,etc. when the structure of the ruled lines is extracted from an inputtable-formatted document and is matched with the form of the enteredtable-formatted document. Especially, a high robustness can be obtainedby setting a broad condition for the arrangement of nodes to reduce thedeterioration of the precision in extracting contour ruled lines, whichare likely to be unstably extracted because of the influence of noise.

Stable and correct identification can be attained in altering a form byadding or deleting one row if the optimum path set is obtained as acombination of one or more paths. Furthermore, the number ofcompatibility checking processes can be reduced by setting atransitional compatibility condition relating two nodes, therebyperforming a high-speed identifying process.

According to the present invention, the form of an image of atable-formatted document, etc. and the position of managementinformation can be automatically learned and stored in the dictionary.Therefore, according to the stored information, the position of themanagement information in an arbitrary input image can be computed witha high precision.

Particularly, since a feature which is stable to the fluctuation ofimage information is used, management information can be successfullyextracted from a broken or distorted document image. Furthermore, themanagement information can be extracted at a high speed because formlearning and comparing processes are performed while candidates areprogressively limited in two steps, that is, in rough classification anddetailed identification, and the detailed identification is performed ina one-dimensional matching using the feature of the outline form of atable.

Additionally, since the management information is stored and retrievedusing not only a character code but also an image itself, even difficultcharacters such as textured characters, etc. to be recognized, can behandled as management information.

What is claimed is:
 1. An image accumulation apparatus, comprising: acomputation unit computing a position of management informationcontained in each of a plurality of accumulated images according torelative position information of ruled lines to an outline portion of atable area contained in each accumulated image; an entry unit extractingimages from each accumulated image based upon the computed position; astorage storing one of the extracted images and character codes ofcharacter recognition results of the extracted images as the managementinformation for each accumulated image; and a retrieving unit retrievingmanagement information represented as a given image by comparing thegiven image with the stored management information.
 2. The imageaccumulation apparatus according to claim 1, further comprising: aselector selecting at least one of the extracted images and a charactercode, as the management information for each accumulated image.
 3. Theimage accumulation apparatus according to claim 2, wherein said storagestores the extracted images as the management information depending onreliability of character recognition for the management information whensaid selector selects the character code corresponding to the managementinformation.
 4. The image accumulation apparatus according to claim 1,wherein said storage unit stores images which are a part of eachaccumulated image, as the management information for each accumulatedimage.
 5. A computer-readable storage medium used to direct a computerto perform the functions of: computing a position of managementinformation contained in each of a plurality of accumulated imagesaccording to relative position information of ruled lines to an outlineportion of a table area contained in each accumulated image; extractingimages from each accumulated image based upon the computed position;storing one of the extracted images and character codes of characterrecognition results of the extracted images as the managementinformation for each accumulated image; and retrieving managementinformation represented as a given image by comparing the given imagewith the stored management information.
 6. An image accumulation method,comprising: computing a position of management information contained ineach of a plurality of accumulated images according to relative positioninformation of ruled lines to an outline portion of a table areacontained in each accumulated image; extracting images from eachaccumulated image based upon the computed position; storing one of theextracted images and character codes of character recognition results ofthe extracted images as the management information for each accumulatedimage; and retrieving management information represented as a givenimage by comparing the given image with the stored managementinformation.